| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474 |
- /* Root container */
- [data-slot="root"] {
- max-width: 64rem;
- padding: var(--space-10) var(--space-4);
- margin: 0 auto;
- width: 100%;
- display: flex;
- flex-direction: column;
- gap: var(--space-10);
- [data-slot="sections"] {
- display: flex;
- flex-direction: column;
- gap: var(--space-16);
- section {
- display: flex;
- flex-direction: column;
- gap: var(--space-6);
- }
- section:not(:last-child) {
- border-bottom: 1px solid var(--color-border);
- padding-bottom: var(--space-16);
- }
- }
- /* Common elements */
- button {
- padding: var(--space-3) var(--space-4);
- border: 1px solid var(--color-border);
- border-radius: var(--border-radius-sm);
- background-color: var(--color-bg);
- color: var(--color-text);
- font-size: var(--font-size-sm);
- font-family: var(--font-sans);
- font-weight: 500;
- text-transform: uppercase;
- cursor: pointer;
- transition: all 0.15s ease;
- &:hover {
- background-color: var(--color-surface-hover);
- border-color: var(--color-accent);
- }
- &:active {
- transform: translateY(1px);
- }
- &:disabled {
- opacity: 0.5;
- cursor: not-allowed;
- &:hover {
- background-color: var(--color-bg);
- border-color: var(--color-border);
- transform: none;
- }
- }
- &[data-color="primary"] {
- background-color: var(--color-primary);
- border-color: var(--color-primary);
- color: var(--color-primary-text);
- &:hover {
- background-color: var(--color-primary-hover);
- border-color: var(--color-primary-hover);
- }
- }
- &[data-color="ghost"] {
- background-color: transparent;
- border-color: transparent;
- color: var(--color-text-muted);
- &:hover {
- background-color: var(--color-surface-hover);
- border-color: var(--color-border);
- color: var(--color-text);
- }
- }
- }
- a {
- color: var(--color-text);
- text-decoration: underline;
- text-underline-offset: var(--space-0-75);
- text-decoration-thickness: 1px;
- }
- [data-slot="empty-state"] {
- padding: var(--space-20) var(--space-6);
- text-align: center;
- border: 1px dashed var(--color-border);
- border-radius: var(--border-radius-sm);
- display: flex;
- flex-direction: column;
- gap: var(--space-2);
- p {
- font-size: var(--font-size-sm);
- color: var(--color-text-muted);
- margin: 0;
- }
- }
- /* Title section */
- [data-slot="title-section"] {
- display: flex;
- flex-direction: column;
- gap: var(--space-2);
- padding-bottom: var(--space-8);
- border-bottom: 1px solid var(--color-border);
- h1 {
- font-size: var(--font-size-2xl);
- font-weight: 500;
- line-height: 1.2;
- letter-spacing: -0.03125rem;
- margin: 0;
- text-transform: uppercase;
- @media (max-width: 30rem) {
- font-size: var(--font-size-xl);
- line-height: 1.25;
- }
- }
- p {
- font-size: var(--font-size-md);
- color: var(--color-text-muted);
- a {
- color: var(--color-text-muted);
- }
- }
- }
- /* Section titles */
- [data-slot="section-title"] {
- display: flex;
- flex-direction: column;
- gap: var(--space-1);
- h2 {
- font-size: var(--font-size-md);
- font-weight: 600;
- line-height: 1.2;
- letter-spacing: -0.03125rem;
- margin: 0;
- color: var(--color-text-secondary);
- text-transform: uppercase;
- @media (max-width: 30rem) {
- font-size: var(--font-size-lg);
- line-height: 1.25;
- }
- }
- p {
- font-size: var(--font-size-sm);
- color: var(--color-text-muted);
- }
- }
- /* API Keys Section */
- [data-slot="api-keys-section"] {
- [data-slot="create-form"] {
- display: flex;
- gap: var(--space-3);
- padding: var(--space-4);
- border: 1px solid var(--color-border);
- border-radius: var(--border-radius-sm);
- input {
- flex: 1;
- padding: var(--space-2) var(--space-3);
- border: 1px solid var(--color-border);
- border-radius: var(--border-radius-sm);
- background-color: var(--color-bg);
- color: var(--color-text);
- font-size: var(--font-size-sm);
- font-family: var(--font-mono);
- &:focus {
- outline: none;
- border-color: var(--color-accent);
- }
- &::placeholder {
- color: var(--color-text-disabled);
- }
- }
- [data-slot="form-actions"] {
- display: flex;
- gap: var(--space-2);
- }
- }
- [data-slot="api-keys-table"] {
- overflow-x: auto;
- }
- [data-slot="api-keys-table-element"] {
- width: 100%;
- border-collapse: collapse;
- font-size: var(--font-size-sm);
- thead {
- border-bottom: 1px solid var(--color-border);
- }
- th {
- padding: var(--space-3) var(--space-4);
- text-align: left;
- font-weight: normal;
- color: var(--color-text-muted);
- text-transform: uppercase;
- }
- td {
- padding: var(--space-3) var(--space-4);
- border-bottom: 1px solid var(--color-border-muted);
- color: var(--color-text-muted);
- font-family: var(--font-mono);
- &[data-slot="key-name"] {
- color: var(--color-text);
- font-family: var(--font-sans);
- font-weight: 500;
- }
- &[data-slot="key-value"] {
- font-family: var(--font-mono);
- div {
- cursor: pointer;
- display: flex;
- align-items: center;
- gap: var(--space-2);
- }
- }
- &[data-slot="key-date"] {
- color: var(--color-text);
- }
- &[data-slot="key-actions"] {
- font-family: var(--font-sans);
- }
- }
- tbody tr {
- &:last-child td {
- border-bottom: none;
- }
- }
- @media (max-width: 40rem) {
- th,
- td {
- padding: var(--space-2) var(--space-3);
- font-size: var(--font-size-xs);
- }
- th {
- &:nth-child(3) /* Date */ {
- display: none;
- }
- }
- td {
- &:nth-child(3) /* Date */ {
- display: none;
- }
- }
- }
- }
- }
- /* Balance Section */
- [data-slot="balance-section"] {
- [data-slot="balance"] {
- display: flex;
- flex-direction: column;
- gap: var(--space-3);
- padding: var(--space-4);
- border: 1px solid var(--color-border);
- border-radius: var(--border-radius-sm);
- min-width: 14.5rem;
- width: fit-content;
- [data-slot="amount"] {
- padding: var(--space-3-5) var(--space-4);
- background-color: var(--color-bg-surface);
- border-radius: var(--border-radius-sm);
- display: flex;
- align-items: baseline;
- gap: var(--space-1);
- justify-content: flex-end;
- &.danger {
- [data-slot="value"] {
- color: var(--color-danger);
- }
- }
- [data-slot="currency"] {
- position: relative;
- bottom: 2px;
- font-size: var(--font-size-lg);
- color: var(--color-text-muted);
- font-weight: 400;
- }
- [data-slot="value"] {
- font-size: var(--font-size-3xl);
- font-weight: 500;
- color: var(--color-text);
- }
- }
- }
- }
- /* Payments Section */
- [data-slot="payments-section"] {
- [data-slot="payments-table"] {
- overflow-x: auto;
- }
- [data-slot="payments-table-element"] {
- width: 100%;
- border-collapse: collapse;
- font-size: var(--font-size-sm);
- thead {
- border-bottom: 1px solid var(--color-border);
- }
- th {
- padding: var(--space-3) var(--space-4);
- text-align: left;
- font-weight: normal;
- color: var(--color-text-muted);
- text-transform: uppercase;
- }
- td {
- padding: var(--space-3) var(--space-4);
- border-bottom: 1px solid var(--color-border-muted);
- color: var(--color-text-muted);
- font-family: var(--font-mono);
- &[data-slot="payment-date"] {
- color: var(--color-text);
- }
- &[data-slot="payment-id"] {
- font-family: var(--font-mono);
- font-weight: 400;
- color: var(--color-text-muted);
- max-width: 200px;
- word-break: break-word;
- }
- &[data-slot="payment-amount"] {
- color: var(--color-text);
- }
- }
- tbody tr {
- &:last-child td {
- border-bottom: none;
- }
- }
- @media (max-width: 40rem) {
- th,
- td {
- padding: var(--space-2) var(--space-3);
- font-size: var(--font-size-xs);
- }
- th {
- &:nth-child(2) /* Payment ID */ {
- display: none;
- }
- }
- td {
- &:nth-child(2) /* Payment ID */ {
- display: none;
- }
- }
- }
- }
- }
- /* Usage Section */
- [data-slot="usage-section"] {
- [data-slot="usage-table"] {
- overflow-x: auto;
- }
- [data-slot="usage-table-element"] {
- width: 100%;
- border-collapse: collapse;
- font-size: var(--font-size-sm);
- thead {
- border-bottom: 1px solid var(--color-border);
- }
- th {
- padding: var(--space-3) var(--space-4);
- text-align: left;
- font-weight: normal;
- color: var(--color-text-muted);
- text-transform: uppercase;
- }
- td {
- padding: var(--space-3) var(--space-4);
- border-bottom: 1px solid var(--color-border-muted);
- color: var(--color-text-muted);
- font-family: var(--font-mono);
- &[data-slot="usage-date"] {
- color: var(--color-text);
- }
- &[data-slot="usage-model"] {
- font-family: var(--font-sans);
- font-weight: 400;
- color: var(--color-text-secondary);
- max-width: 200px;
- word-break: break-word;
- }
- &[data-slot="usage-cost"] {
- color: var(--color-text);
- }
- }
- tbody tr {
- &:last-child td {
- border-bottom: none;
- }
- }
- @media (max-width: 40rem) {
- th,
- td {
- padding: var(--space-2) var(--space-3);
- font-size: var(--font-size-xs);
- }
- th {
- &:nth-child(2) /* Model */ {
- display: none;
- }
- }
- td {
- &:nth-child(2) /* Model */ {
- display: none;
- }
- }
- }
- }
- }
- }
|